ambient25 2.2.0
Loading...
Searching...
No Matches
ambient25.h File Reference

This file contains API for Ambient 25 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_i2c_master.h"

Go to the source code of this file.

Data Structures

struct  ambient25_data_t
 Ambient 25 Click data object. More...
struct  ambient25_t
 Ambient 25 Click context object. More...
struct  ambient25_cfg_t
 Ambient 25 Click configuration object. More...

Macros

#define AMBIENT25_REG_MOD_CHANNEL_CTRL   0x40
 Ambient 25 register list.
#define AMBIENT25_REG_ENABLE   0x80
#define AMBIENT25_REG_MEAS_MODE0   0x81
#define AMBIENT25_REG_MEAS_MODE1   0x82
#define AMBIENT25_REG_SAMPLE_TIME0   0x83
#define AMBIENT25_REG_SAMPLE_TIME1   0x84
#define AMBIENT25_REG_ALS_NR_SAMPLES0   0x85
#define AMBIENT25_REG_ALS_NR_SAMPLES1   0x86
#define AMBIENT25_REG_FD_NR_SAMPLES0   0x87
#define AMBIENT25_REG_FD_NR_SAMPLES1   0x88
#define AMBIENT25_REG_WTIME   0x89
#define AMBIENT25_REG_AILT0   0x8A
#define AMBIENT25_REG_AILT1   0x8B
#define AMBIENT25_REG_AILT2   0x8C
#define AMBIENT25_REG_AIHT0   0x8D
#define AMBIENT25_REG_AIHT1   0x8E
#define AMBIENT25_REG_AIHT2   0x8F
#define AMBIENT25_REG_AUX_ID   0x90
#define AMBIENT25_REG_REV_ID   0x91
#define AMBIENT25_REG_ID   0x92
#define AMBIENT25_REG_STATUS   0x93
#define AMBIENT25_REG_ALS_STATUS   0x94
#define AMBIENT25_REG_ALS_DATA0_LSB   0x95
#define AMBIENT25_REG_ALS_DATA0_MSB   0x96
#define AMBIENT25_REG_ALS_DATA1_LSB   0x97
#define AMBIENT25_REG_ALS_DATA1_MSB   0x98
#define AMBIENT25_REG_ALS_STATUS2   0x9B
#define AMBIENT25_REG_STATUS2   0x9D
#define AMBIENT25_REG_STATUS3   0x9E
#define AMBIENT25_REG_STATUS4   0x9F
#define AMBIENT25_REG_STATUS5   0xA0
#define AMBIENT25_REG_CFG0   0xA1
#define AMBIENT25_REG_CFG1   0xA2
#define AMBIENT25_REG_CFG2   0xA3
#define AMBIENT25_REG_CFG3   0xA4
#define AMBIENT25_REG_CFG4   0xA5
#define AMBIENT25_REG_CFG5   0xA6
#define AMBIENT25_REG_CFG6   0xA7
#define AMBIENT25_REG_CFG7   0xA8
#define AMBIENT25_REG_CFG8   0xA9
#define AMBIENT25_REG_CFG9   0xAA
#define AMBIENT25_REG_AGC_NR_SAMPLES0   0xAC
#define AMBIENT25_REG_AGC_NR_SAMPLES1   0xAD
#define AMBIENT25_REG_TRIGGER_MODE   0xAE
#define AMBIENT25_REG_CONTROL   0xB1
#define AMBIENT25_REG_INTENAB   0xBA
#define AMBIENT25_REG_SIEN   0xBB
#define AMBIENT25_REG_MOD_COMP_CFG1   0xCE
#define AMBIENT25_REG_MEAS_SEQR_FD_0   0xCF
#define AMBIENT25_REG_MEAS_SEQR_ALS_1   0xD0
#define AMBIENT25_REG_MEAS_SEQR_APERS_AND_VSYNC_WAIT   0xD1
#define AMBIENT25_REG_MEAS_SEQR_RESIDUAL_0   0xD2
#define AMBIENT25_REG_MEAS_SEQR_RESIDUAL_1_AND_WAIT   0xD3
#define AMBIENT25_REG_MEAS_SEQR_STEP0_MOD_GAINX_L   0xD4
#define AMBIENT25_REG_MEAS_SEQR_STEP1_MOD_GAINX_L   0xD6
#define AMBIENT25_REG_MEAS_SEQR_STEP2_MOD_GAINX_L   0xD8
#define AMBIENT25_REG_MEAS_SEQR_STEP3_MOD_GAINX_L   0xDA
#define AMBIENT25_REG_MEAS_SEQR_STEP0_MOD_PHDX_SMUX_L   0xDC
#define AMBIENT25_REG_MEAS_SEQR_STEP0_MOD_PHDX_SMUX_H   0xDD
#define AMBIENT25_REG_MEAS_SEQR_STEP1_MOD_PHDX_SMUX_L   0xDE
#define AMBIENT25_REG_MEAS_SEQR_STEP1_MOD_PHDX_SMUX_H   0xDF
#define AMBIENT25_REG_MEAS_SEQR_STEP2_MOD_PHDX_SMUX_L   0xE0
#define AMBIENT25_REG_MEAS_SEQR_STEP2_MOD_PHDX_SMUX_H   0xE1
#define AMBIENT25_REG_MEAS_SEQR_STEP3_MOD_PHDX_SMUX_L   0xE2
#define AMBIENT25_REG_MEAS_SEQR_STEP3_MOD_PHDX_SMUX_H   0xE3
#define AMBIENT25_REG_MOD_CALIB_CFG0   0xE4
#define AMBIENT25_REG_MOD_CALIB_CFG2   0xE6
#define AMBIENT25_REG_VSYNC_PERIOD0   0xF2
#define AMBIENT25_REG_VSYNC_PERIOD1   0xF3
#define AMBIENT25_REG_VSYNC_PERIOD_TARGET0   0xF4
#define AMBIENT25_REG_VSYNC_PERIOD_TARGET1   0xF5
#define AMBIENT25_REG_VSYNC_CONTROL   0xF6
#define AMBIENT25_REG_VSYNC_CFG   0xF7
#define AMBIENT25_REG_VSYNC_GPIO_INT   0xF8
#define AMBIENT25_REG_MOD_FIFO_DATA_CFG0   0xF9
#define AMBIENT25_REG_MOD_FIFO_DATA_CFG1   0xFA
#define AMBIENT25_REG_FIFO_THR   0xFC
#define AMBIENT25_REG_FIFO_STATUS0   0xFD
#define AMBIENT25_REG_FIFO_STATUS1   0xFE
#define AMBIENT25_REG_FIFO_DATA   0xFF
#define AMBIENT25_ENABLE_FDEN   0x40
 Ambient 25 ENABLE register setting.
#define AMBIENT25_ENABLE_AEN   0x02
#define AMBIENT25_ENABLE_PON   0x01
#define AMBIENT25_WTIME_DEFAULT   0x46
 Ambient 25 WTIME register setting.
#define AMBIENT25_TRIGGER_MODE_OFF   0x00
 Ambient 25 TRIGGER_MODE register setting.
#define AMBIENT25_TRIGGER_MODE_NORMAL   0x01
#define AMBIENT25_TRIGGER_MODE_LONG   0x02
#define AMBIENT25_TRIGGER_MODE_FAST   0x03
#define AMBIENT25_TRIGGER_MODE_FASTLONG   0x04
#define AMBIENT25_TRIGGER_MODE_VSYNC   0x05
#define AMBIENT25_TRIGGER_MODE_MASK   0x07
#define AMBIENT25_INTENAB_MIEN   0x80
 Ambient 25 INTENAB register setting.
#define AMBIENT25_INTENAB_AIEN   0x08
#define AMBIENT25_INTENAB_FIEN   0x04
#define AMBIENT25_INTENAB_SIEN   0x01
#define AMBIENT25_MEAS_MODE1_MOD_FIFO_FD_END_MARKER_WEN   0x80
 Ambient 25 MEAS_MODE1 register setting.
#define AMBIENT25_MEAS_MODE1_MOD_FIFO_FD_CHECKSUM_WEN   0x40
#define AMBIENT25_MEAS_MODE1_MOD_FIFO_FD_GAIN_WEN   0x20
#define AMBIENT25_MEAS_MODE1_ALS_MSB_POSITION_DEFAULT   0x08
#define AMBIENT25_MEAS_MODE1_ALS_MSB_POSITION_MASK   0x1F
#define AMBIENT25_GAIN_MOD1_HALF   0x00
 Ambient 25 modulator gain setting.
#define AMBIENT25_GAIN_MOD1_1X   0x10
#define AMBIENT25_GAIN_MOD1_2X   0x20
#define AMBIENT25_GAIN_MOD1_4X   0x30
#define AMBIENT25_GAIN_MOD1_8X   0x40
#define AMBIENT25_GAIN_MOD1_16X   0x50
#define AMBIENT25_GAIN_MOD1_32X   0x60
#define AMBIENT25_GAIN_MOD1_64X   0x70
#define AMBIENT25_GAIN_MOD1_128X   0x80
#define AMBIENT25_GAIN_MOD1_256X   0x90
#define AMBIENT25_GAIN_MOD1_512X   0xA0
#define AMBIENT25_GAIN_MOD1_1024X   0xB0
#define AMBIENT25_GAIN_MOD1_2048X   0xC0
#define AMBIENT25_GAIN_MOD1_4096X   0xD0
#define AMBIENT25_GAIN_MOD0_HALF   0x00
#define AMBIENT25_GAIN_MOD0_1X   0x01
#define AMBIENT25_GAIN_MOD0_2X   0x02
#define AMBIENT25_GAIN_MOD0_4X   0x03
#define AMBIENT25_GAIN_MOD0_8X   0x04
#define AMBIENT25_GAIN_MOD0_16X   0x05
#define AMBIENT25_GAIN_MOD0_32X   0x06
#define AMBIENT25_GAIN_MOD0_64X   0x07
#define AMBIENT25_GAIN_MOD0_128X   0x08
#define AMBIENT25_GAIN_MOD0_256X   0x09
#define AMBIENT25_GAIN_MOD0_512X   0x0A
#define AMBIENT25_GAIN_MOD0_1024X   0x0B
#define AMBIENT25_GAIN_MOD0_2048X   0x0C
#define AMBIENT25_GAIN_MOD0_4096X   0x0D
#define AMBIENT25_FIFO_THR_DEFAULT   5
 Ambient 25 FIFO interrupt threshold setting.
#define AMBIENT25_CONTROL_SOFT_RESET   0x08
 Ambient 25 CONTROL register setting.
#define AMBIENT25_CONTROL_FIFO_CLR   0x02
#define AMBIENT25_CONTROL_CLEAR_SAI_ACTIVE   0x01
#define AMBIENT25_ALS_DATA_SATURATION   0xFFFF
 Ambient 25 ALS data saturation setting.
#define AMBIENT25_DEVICE_ID   0x5C
 Ambient 25 device ID value.
#define AMBIENT25_DEVICE_ADDRESS   0x39
 Ambient 25 device address setting.
#define AMBIENT25_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Enumerations

enum  ambient25_return_value_t { AMBIENT25_OK = 0 , AMBIENT25_ERROR = -1 }
 Ambient 25 Click return value data. More...

Functions

void ambient25_cfg_setup (ambient25_cfg_t *cfg)
 Ambient 25 configuration object setup function.
err_t ambient25_init (ambient25_t *ctx, ambient25_cfg_t *cfg)
 Ambient 25 initialization function.
err_t ambient25_default_cfg (ambient25_t *ctx)
 Ambient 25 default configuration function.
err_t ambient25_write_regs (ambient25_t *ctx, uint8_t reg, uint8_t *data_in, uint8_t len)
 Ambient 25 write regs function.
err_t ambient25_read_regs (ambient25_t *ctx, uint8_t reg, uint8_t *data_out, uint8_t len)
 Ambient 25 read regs function.
err_t ambient25_write_reg (ambient25_t *ctx, uint8_t reg, uint8_t data_in)
 Ambient 25 write reg function.
err_t ambient25_read_reg (ambient25_t *ctx, uint8_t reg, uint8_t *data_out)
 Ambient 25 read reg function.
err_t ambient25_write_reg_word (ambient25_t *ctx, uint8_t reg, uint16_t data_in)
 Ambient 25 write reg word function.
err_t ambient25_read_reg_word (ambient25_t *ctx, uint8_t reg, uint16_t *data_out)
 Ambient 25 read reg word function.
err_t ambient25_check_communication (ambient25_t *ctx)
 Ambient 25 check communication function.
void ambient25_enable_device (ambient25_t *ctx)
 Ambient 25 enable device function.
void ambient25_disable_device (ambient25_t *ctx)
 Ambient 25 disable device function.
void ambient25_set_vsync_pin (ambient25_t *ctx, uint8_t state)
 Ambient 25 set vsync pin state function.
uint8_t ambient25_get_int_pin (ambient25_t *ctx)
 Ambient 25 get int pin state function.
err_t ambient25_soft_reset (ambient25_t *ctx)
 Ambient 25 soft reset function.
err_t ambient25_clear_fifo (ambient25_t *ctx)
 Ambient 25 clear fifo function.
err_t ambient25_read_fifo_size (ambient25_t *ctx, uint16_t *fifo_size)
 Ambient 25 read fifo size function.
err_t ambient25_read_data (ambient25_t *ctx, ambient25_data_t *data_out)
 Ambient 25 read data function.

Detailed Description

This file contains API for Ambient 25 Click Driver.

Enumeration Type Documentation

◆ ambient25_return_value_t

Ambient 25 Click return value data.

Predefined enum values for driver return values.

Enumerator
AMBIENT25_OK 
AMBIENT25_ERROR